<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <script>
    /*
      1.对于这种带小数的运算 -> 0.1 +0.2 0.3
        为了避免精度丢失问题，我们会采用乘除
        0 0.2 0.4 0.6 0.8 1
        */
      //   for (var i = 0; i < 6; i++) {
      //     console.log(i / 5);
      //   }
      //--------
    /*


    2.循环输出1～100里面的奇数

    方法一：
    奇数的对立面->偶数 对2取余为0
    //   for (var i = 1; i <= 100; i++) {
    //     if (i % 2 != 0) {
    //       console.log(i);
    //     }
    //   }

    方法二：
    在自然数1～100中，前后两个奇数的差永远是2
    //   for (var i = 1; i <= 100; i = i + 2) {
    //     console.log(i);
    //   }

    
        /* 3 分数数列求和
        2/1 3/2 5/3 8/5 13/8 21/13
        2  3  5 8 13 21
        -  -  - -  - -
        1  2  3 5  8 13
        下一项分子等于上一项分子+分母
        下一项的分母 等于上一项的分子
        
        var sum = 0; //储存和的变量
        var fz = 2; //分子 第一项分子为2
        var fm = 1; //分母 第一项分母为1
        for (var i = 1; i <= 20; i++) {
          var res = fz / fm; //数列的每一项
          var c = fz; //暂时把分子存起来
          fz = c + fm; //下一项的分子等于上一项分子+分母
        /   fm = c; //下一项的分母等于上一项的分子
          // sum = sum + res;
          sum += res;
        }
        console.log(sum);//32.66026079864164
        ----------- */
        /*
        
        4 有一座桥，当你身上所拥有的钱大于30000时，每过一次桥则需要支付3000元。当你身上的钱小于或等于30000时，每过一次桥则需要支付你身上10%的钱。已知有一个人身上有33000元，问此人能过这座桥多少次之后，身上的钱会少于100块?

        钱> 30000:  -3000  money=money-3000 -> money-=3000
        钱<= 3000 :  收10% money=money*(1-10%)->money*=0.9
        */
        
      //   var money = 33000; //没过桥的钱数
      //   var count = 0; //过桥次数(初始设置为0)
      //   while (money >= 100) {
      //     if (money > 30000) {
      //       money -= 3000;
      //       count++;
      //     } else {
      //       money *= 0.9;
      //       count++;
      //     }
      //   }
      //   console.log(count);//56

      /*
      5.通过键盘输入一个任意的正整数（建议这个数比3大），在控制台中输出3至这个数之间所有能被3整除的数字。

      输出3至这个数之间所有的整数
      for 3～用户输入的数
      if 条件判断
      条件？ 1%3==0 整除
      
      */
      //   var num = parseInt(prompt("请输入一个大于三的整数"));
      //   for (var i = 3; i <= num; i++) {
      //     if (i % 3 == 0) {
      //       console.log(i);
      //     }
      //   }

    /*
    6.小明去存1000钱，每天会产生1%的利息，求问，30天后，小明可以拿回多少钱

    1000 1% 30？
    1%利息？ 循环体中: money=money*(1+0.01)
    循环条件语句  30次

    */
      //   var money = 1000;
      //   for (var i = 1; i <= 30; i++) {
      //     //    money=money*(1+0.01)
      //     money *= 1.01;
      //   }
      //   console.log(money);//1347.8489153329058
      //---------

    /*
      7.(提高)求水仙花数：水仙花数是这样一个三位数,它的每个数位的数字的立方和等于它本身。
      
      a^3+b^3+c^3=abc
      */
      //   var a, b, c;
      //   for (i = 100; i < 1000; i++) {
      //     a = parseInt(i % 10); //个位数
      //     b = parseInt((i / 10) % 10); //十位数
      //     c = parseInt(i / 100); //百位数
      //     if (a ** 3 + b ** 3 + c ** 3 == i) {
      //       console.log(i);//153 370 371 407
      //     }
      //   }

    /*
    8.(提高题)将100元整钞换成20元、10元、5元、2元、1元零钱，要求零钱总张数为30张，求有多少种换法？

    100元  20 10 5  2  1
    30张
    */
      //   var a, //1元的张数
      //     b, //2元的张数
      //     c, //5元
      //     d, //10元
      //     e; //20
      //   var num = 0; //换法
      //   for (a = 0; a <= 100; a++) {
      //     for (b = 0; b <= (100 - a) / 2; b++) {
      //       for (c = 0; c <= (100 - a - 2 * b) / 5; c++) {
      //         for (d = 0; d <= (100 - a - 2 * b - 5 * c) / 10; d++) {
      //           for (e = 0; e <= (100 - a - 2 * b - 5 * c - 10 * d) / 20; e++) {
      //             if (
      //               a + b + c + d + e == 30 &&
      //               a + 2 * b + 5 * c + 10 * d + 20 * e == 100
      //             ) {
      //               num++;
      //               console.log(a, b, c, d, e);
      //             }
      //           }
      //         }
      //       }
      //     }
      //   }
      //   console.log(num); //96
  </script>
</body>

</html>